package com.xbts.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xbts.system.domain.SeiMaterial;

import java.util.List;

/**
 * 素材Service接口
 *
 * @author xbts
 * @date 2023-08-24
 */
public interface ISeiMaterialService extends IService<SeiMaterial> {

    /**
     * 查询素材表
     *
     * @param
     * @return 素材表单
     */
    List<SeiMaterial> selectMaterialList(SeiMaterial seiMaterial);

    /**
     * 查询素材
     *
     * @return 素材列表
     */

    List<SeiMaterial> selectMaterial();

    /**
     * 搜索素材表
     *
     * @param
     * @return 素材表单
     */
    List<SeiMaterial> searchMaterialList(SeiMaterial seiMaterial);

    /**
     * 修改素材
     *
     * @param seiMaterial 素材
     * @return 结果
     */
    boolean updateMaterial(SeiMaterial seiMaterial);


    /**
     * 新增素材一级指标
     *
     * @param name 素材名称
     * @return 结果
     */
    boolean insertMaterialType(String name);

    /**
     * 添加子类
     *
     * @param seiMaterial 子类素材
     * @return 结果
     */
    boolean addSon(SeiMaterial seiMaterial);

    /**
     * 删除素材
     *
     * @param templateId 素材Id
     * @return 结果
     */
    boolean deleteMaterial(String templateId);

    /**
     * 批量删除素材
     *
     * @param ids 素材Id集合
     * @return 结果
     */
    boolean batchDeleteMaterial(List<String> ids);

    /**
     * 查询素材
     *
     * @param materialId 素材主键
     * @return 素材
     */
    SeiMaterial selectSeiMaterialById(String materialId);

    /**
     * 查询模板类型
     *
     * @return 素材列表
     */
    List<SeiMaterial> selectMaterialType(SeiMaterial seiMaterial);

    /**
     * 查询一级
     *
     * @return 素材
     */
    List<SeiMaterial> selectGrandParent();
    /**
     * 查询一级
     *
     * @return 素材
     */
    List<SeiMaterial>  selectParent(String parentId);

    /**
     * 新增素材
     * @param seiMaterial 素材
     * @return 操作结果
     */
    boolean addMaterial(SeiMaterial seiMaterial);
}
